package io.renren.modules.gaokaobaobei.dao;

import com.baomidou.mybatisplus.mapper.BaseMapper;
import io.renren.modules.gaokaobaobei.entity.UserBackupEntity;
import io.renren.modules.school.entity.SchoolPredictor;
import io.renren.modules.school.entity.TemplateStudentEntity;
import io.renren.modules.school.entity.TreeEntity;
import io.renren.modules.school.entity.UniversityEntity;
import io.renren.modules.student.entity.StudentProfession;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Map;

/**
 * 志愿设计管理
 * 
 * @author zlb
 * @email 316682546@qq.com
 * @date 2018-10-13 19:18:27
 */
public interface UserBackupDao extends BaseMapper<UserBackupEntity> {

    public List<UserBackupEntity> getAllDataByUsername(String username);

    boolean updateTypeByUserName(Map map);

    int findTypeByUserName(Map map);

    UserBackupEntity getUserBackupByStudentId(Integer id);

    UserBackupEntity getByNameAndPhone(UserBackupEntity userBackup);

    UserBackupEntity getNewUserBackup();

    List<TreeEntity> getTemplatelTree(String username);

    void saveTemplate(TemplateStudentEntity templateStudentEntity);

    Integer getNewTempalte();

    void saveTemplateUniversity(UniversityEntity universityEntity);

    List<String> getNatureProfressionList(@Param("list") List<String> natureList);

    UniversityEntity getNewsTemplateUniversity();

    void saveTemplateProfession(StudentProfession professionEntity);

    List<UniversityEntity> getTemplateUniversityEntityById(Integer id);

    void deleteStudentSchool(Integer id);

    void deleteStudentProfession(Integer id);

    List<StudentProfession> getProfessionByUserBackId(@Param("schoolId") Integer schoolId, @Param("userBackId")Integer userBackId);
    List<StudentProfession> getStudentDesignProfessionByUserBackId(@Param("schoolId") Integer schoolId, @Param("userBackId")Integer userBackId);
    List<SchoolPredictor> getUniversityEntityByProfession(UserBackupEntity userBackup);

    List<UniversityEntity> getStudentDesignById(Integer id);

    void removeCopy();
}
